//  -------------------- iSharePoint -------------------- //
// 
//  Company:	IT Complex, LLC
//  Project:	Smart.Common
//  File name:	NamedEventHandler.cs
//  Developer:	Solomatov Igor
//  Created:	15.04.2012
// 
//  -------------------- iSharePoint -------------------- //

namespace Smart.Common
{
	/// <summary>
	/// Event handler, returns false, to stop processing
	/// </summary>
	/// <returns>false, to stop processing</returns>
	public delegate bool NamedEventHandler<TArg1, TArg2, TArg3, TArg4>(string eventName, TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4);

	/// <summary>
	/// Event handler, returns false, to stop processing
	/// </summary>
	/// <returns>false, to stop processing</returns>
	public delegate bool NamedEventHandler<TArg1, TArg2, TArg3>(string eventName, TArg1 arg1, TArg2 arg2, TArg3 arg3);

	/// <summary>
	/// Event handler, returns false, to stop processing
	/// </summary>
	/// <returns>false, to stop processing</returns>
	public delegate bool NamedEventHandler<TArg1, TArg2>(string eventName, TArg1 arg1, TArg2 arg2);

	/// <summary>
	/// Event handler, returns false, to stop processing
	/// </summary>
	/// <returns>false, to stop processing</returns>
	public delegate bool NamedEventHandler<TArg1>(string eventName, TArg1 arg1);

	/// <summary>
	/// Event handler, returns false, to stop processing
	/// </summary>
	/// <returns>false, to stop processing</returns>
	public delegate bool NamedEventHandler(string eventName);
}